home *** CD-ROM | disk | FTP | other *** search
/ PC-Blue - MS DOS Public Domain Library / PC-Blue MS-DOS Public Domain Library - NYACC.iso / vol032 / tcomm1.bas < prev    next >
Encoding:
BASIC Source File  |  1987-01-11  |  4.4 KB  |  92 lines

  1. 1010 P$="TCOMM1":V$="82/04/20/1530":REM TERMINAL COMMUNICATION
  2. 1020 ON ERROR GOTO 1820:GOTO 1180
  3. 1030 REM PROCESS KEYBOARD (CHARACTER)
  4. 1040 B$=INKEY$:IF B$="" THEN 1110
  5. 1050 IF LEN(B$)=2 AND MID$(B$,1,1)=CHR$(0) THEN GOTO 1560:'FUNCTION KEY
  6. 1060 IF B$=BACKSP$ THEN LOCATE ,POS(0)-1,1:PRINT " ";:LOCATE ,POS(0)-1,1
  7. 1070 PRINT #1,B$;:IF ECH$="Y" AND B$<>BACKSP$ THEN PRINT B$;
  8. 1080 REM END KEYBOARD
  9. 1090 REM
  10. 1100 REM PROCESS TELECOM (BUFFER)
  11. 1110 WHILE NOT EOF(1):A$=INPUT$(LOC(1),#1)
  12. 1120 FOR I=1 TO LEN(A$):TC$=MID$(A$,I,1)
  13. 1130 IF DOWNLOAD THEN PRINT #2,TC$;
  14. 1140 IF (TC$<>CR$ AND ASC(TC$)<32) OR ASC(TC$)>126 THEN 1150 ELSE PRINT TC$;
  15. 1150 NEXT I:WEND:GOTO 1040
  16. 1160 REM END TELECOM (BUFFER)
  17. 1170 REM
  18. 1180 KEY OFF:FOR I=1 TO 10:KEY I,"":NEXT I:CLS
  19. 1190 BACKSP$=CHR$(8):CR$=CHR$(13):LF$=CHR$(10)
  20. 1200 CLOSE:DOWNLOAD=0:UPLOAD=0:ECH=0
  21. 1210 PRINT "THIS IS ";P$"   "V$" VERSION":PRINT
  22. 1220 PRINT "AN 80 CHARACTER SCREEN AND A DISK DRIVE ARE ASSUMED":PRINT
  23. 1230 PRINT "USE THE FUNCTION KEYS (F1 THROUGH F10) FOR SPECIAL FUNCTIONS":PRINT
  24. 1240 PRINT "   -F1- SEND A 'BREAK' SIGNAL TO HOST"
  25. 1250 PRINT "   -F2- HALT "P$" AND RETURN TO BASIC":PRINT
  26. 1260 PRINT "   -F3- OPEN A PC FILE TO RECEIVE INPUT"
  27. 1270 PRINT "   -F4- BEGIN SAVING ALL INPUT FROM HOST ON PC FILE"
  28. 1280 PRINT "   -F5- END SAVING ALL INPUT FROM HOST ON PC FILE"
  29. 1290 PRINT "   -F6- CLOSE THE PC FILE RECEIVING INPUT":PRINT
  30. 1300 PRINT "   -F7- GIVE NAME OF A PC FILE TO BE SENT TO HOST"
  31. 1310 PRINT "   -F8- BEGIN SENDING PC FILE TO HOST":PRINT
  32. 1320 PRINT "   -F9- TOGGLE ECHO/NOECHO OF KEYBOARD INPUT":PRINT
  33. 1330 SPEED$="300":PARITY$="E":DATABITS$="7":STOPBITS$="1"
  34. 1340 PRINT "DEFAULT SPEED IS "SPEED$" BAUD"
  35. 1350 INPUT "SPEED, OR -RETURN- FOR DEFAULT";INSPD$
  36. 1360 IF INSPD$<>"" THEN SPEED$=INSPD$
  37. 1370 PRINT "SPEED = ";SPEED$:PRINT
  38. 1380 PRINT "DEFAULT PARITY IS "PARITY$
  39. 1390 INPUT "PARITY, OR -RETURN- FOR DEFAULT";INPAR$
  40. 1400 IF INPAR$<>"" THEN PARITY$=INPAR$
  41. 1410 PRINT "PARITY = ";PARITY$:PRINT
  42. 1420 PRINT "DEFAULT DATABITS IS ";DATABITS$
  43. 1430 INPUT "DATABITS, OR -RETURN- FOR DEFAULT";INDATB$
  44. 1440 IF INDATB$<>"" THEN DATABITS$=INDATB$
  45. 1450 PRINT "DATABITS = ";DATABITS$:PRINT
  46. 1460 PRINT "DEFAULT STOPBITS IS ";STOPBITS$
  47. 1470 INPUT "STOPBITS, OR -RETURN- FOR DEFAULT";INSTB$
  48. 1480 IF INSTB$<>"" THEN STOPBITS$=INSTB$
  49. 1490 PRINT "STOPBITS = ";STOPBITS$:PRINT:PRINT
  50. 1500 WIDTH "COM1:",255
  51. 1510 COMFILE$="COM1:"+SPEED$+","+PARITY$+","+DATABITS$+","+STOPBITS$
  52. 1520 OPEN COMFILE$ AS #1
  53. 1530 PRINT:PRINT:PRINT:PRINT  "     *** MAKE COMMUNICATION CONNECTION;";
  54. 1540 PRINT " PRESS -RETURN- WHEN READY *** ";:INPUT "",Z$:GOTO 1040
  55. 1550 REM
  56. 1560 FKEY=ASC(MID$(B$,2,1))-58:PRINT "  *** FKEY #"FKEY"PRESSED *** "
  57. 1570 ON FKEY GOTO 1580,1610,1620,1650,1670,1690,1710,1740,1770,1800
  58. 1580 PRINT "   -F1- SEND 'BREAK' SIGNAL TO HOST":DEF SEG 0
  59. 1590 I=INP(&H3FB):OUT &H3FB,I OR &H40:FOR J=1 TO 1000:NEXT J:OUT &H3FB,I
  60. 1600 DEF SEG :GOTO 1810
  61. 1610 PRINT "   -F2- HALT "P$" AND RETURN TO BASIC":END
  62. 1620 PRINT "   -F3- OPEN A PC FILE TO RECEIVE INPUT"
  63. 1630 INPUT "FILESPEC TO SAVE INPUT FROM HOST";DOWNFILE$
  64. 1640 OPEN DOWNFILE$ FOR OUTPUT AS #2:GOTO 1810
  65. 1650 PRINT "   -F4- BEGIN SAVING ALL INPUT FROM HOST ON PC FILE"
  66. 1660 DOWNLOAD=1:GOTO 1810
  67. 1670 PRINT "   -F5- END SAVING ALL INPUT FROM HOST ON PC FILE"
  68. 1680 DOWNLOAD=0:GOTO 1810
  69. 1690 PRINT "   -F6- CLOSE THE PC FILE RECEIVING INPUT"
  70. 1700 CLOSE #2:GOTO 1810
  71. 1710 PRINT "   -F7- GIVE NAME OF A PC FILE TO BE SENT TO HOST"
  72. 1720 INPUT "FILESPEC TO SEND INPUT TO HOST";UPFILE$:GOTO 1810
  73. 1730 OPEN UPFILE$ FOR INPUT AS #3:GOTO 1810
  74. 1740 PRINT "   -F8- BEGIN SENDING PC FILE TO HOST"
  75. 1750 IF NOT(EOF(3)) LINPUT #3,A$:PRINT #2,A$:GOTO 1750
  76. 1760 PRINT "PC FILE HAS BEEN SENT":GOTO 1810
  77. 1770 PRINT "   -F9- TOGGLE ECHO/NOECHO OF KEYBOARD INPUT"
  78. 1780 IF ECH=0 THEN ECH=1 ELSE ECH=0:GOTO 1810
  79. 1790 GOTO 1810
  80. 1800 PRINT "   -F10- NOT DEFINED ***************":GOTO 1810
  81. 1810 GOTO 1110
  82. 1820 PRINT "ERROR #"ERR"IN LINE "ERL"     ";
  83. 1830 IF ERR=24 THEN PRINT "DEVICE TIMEOUT":GOTO 1900
  84. 1840 IF ERR=25 THEN PRINT "DEVICE FAULT":GOTO 1900
  85. 1850 IF ERR=27 THEN PRINT "OUT OF PAPER":GOTO 1900
  86. 1860 IF ERR=57 THEN PRINT "DEVICE I/O ERROR":GOTO 1900
  87. 1870 IF ERR=61 THEN PRINT "DISK FULL":GOTO 1900
  88. 1880 IF ERR=68 THEN PRINT "DEVICE UNAVAILABLE":GOTO 1900
  89. 1890 IF ERR=69 THEN PRINT "COM BUFFER OVERFLOW":GOTO 1900
  90. 1900 PRINT " EXECUTION RESUMED":RESUME 1040
  91. NAVAILABLE":GOTO 1900
  92. 1890 IF ERR=69 THEN PRINT "COM